import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.event.ActionEvent; //事件
import java.awt.event.ActionListener; //监听器
import java.util.Date;
//日期 可以根据自己的需求来
import java.text.DateFormat;

public class JFrame_date extends JFrame {
    JLabel jl = new JLabel("时间");  //做成员变量，让其他访问
    DateFormat df = DateFormat.getDateTimeInstance();
    public JFrame_date(String title){
        super(title);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel jp = new JPanel();
        this.setContentPane(jp);  //窗口中添加面板
        JButton jb = new JButton("显示系统默认时间");
        jp.add(jb);
        jp.add(jl);
        //添加监听器
        jb.addActionListener(new MyActionListener());
        this.setSize(400, 400);
        this.setVisible(true);
    }
    //监听器，是写在类中类的，并且只供当前类使用
    private class MyActionListener implements ActionListener{

        //需要去重写接口当中的抽象方法，可以使用自动补全很快写出
        @Override
        public void actionPerformed(ActionEvent e) {
       
            jl.setText("时间为："+df.format(new Date()));
          
            DateFormat df = DateFormat.getDateInstance();
            // 调用 format 方法完成格式化处理
            String dateStr = df.format(new Date());
            // 打印格式化后的日期字符串
            System.out.println(dateStr);
            // 获取 DateFormat 对象，格式化日期和时间，按默认格式
            df = DateFormat.getDateTimeInstance();
            dateStr = df.format(new Date());
            System.out.println(dateStr);
            // 获取 DateFormat 对象，格式化日期和时间，日期按长型格式，时间按短型格式
            df = DateFormat.getDateTimeInstance(DateFormat.LONG,
            DateFormat.SHORT);
            dateStr = df.format(new Date());   
        }
        //当对应的事件在添加了监听器的组件上面发生的时候，就会执行这里面的方法内容
    }
}